Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2012
Тип роботи:
Звіт
Предмет:
Архітектура

Частина тексту файла

Міністерство освіти і науки України НУ »Львівська політехніка» Звіт 1 З дисципліни: Архітектура проектування ПЗ Розробив: Група ПІм-41з Перевірив: Климаш Т.С. м. Хмельницький 2012 Тема: застосування шаблонів у ООП. Мета: навчитись застосовувати шаблони у ООП. Фабричний метод (Factory Method) Опис Фабричний метод застосовується для створення об'єктів з певним інтерфейсом, реалізації якого надаються нащадками.Шаблон використовується у випадках якщо:1. клас заздалегідь не знає, які об'єкти необхідно буде створювати, тому можливі варіанти реалізації;2. клас спроектований так, що специфікація породжуваного об'єкта визначається тільки в спадкоємцях.3. клас виділяє і делегує частину своїх функцій допоміжному класу. При цьому необхідно приховати його реалізацію для досягнення більшої гнучкості або можливості розширення функціональності.приклади реалізаціїАбстрактний метод або метод з інтерфейсуДаний підхід зобов'язує нащадка визначити свої реалізації Фабричного методу і породжуваного ним класу.Розглянемо на прикладі класу DocumentManager, відповідального за роботу з документом. Винесемо функції роботи з сховищем, збереження і завантаження документа, в окремий інтерфейс IDocStorage. view source print public interface IDocStorage { void Save(string name, Document document); Document Load(string name); У класі DocumentManager додамо абстрактний Фабричний метод CreateStorage () для створення нового сховища. І, для прикладу його використання, напишемо метод Save (), що зберігає документ.01 public abstract class DocumentManager { public abstract IDocStorage CreateStorage(); public bool Save(Document document) { if (!this.SaveDialog()) { return false; } // using Factory method to create a new document storage IDocStorage storage = this.CreateStorage(); storage.Save(this._name, document); return true; } } Визначимо нащадки класу DocumentManager, які будуть зберігати документи в txt і rtf форматах. Реалізації IDocStorage розмістимо в вкладених private класах. Це забезпечить потрібний рівень абстракції сховища, дозволивши клієнтського коду працювати з ними тільки через інтерфейс.Для стислості, в класів TxtDocStorage і RtfDocStorage прибраний код їх методов.01 public class TxtDocumentManager : DocumentManager { private class TxtDocStorage : IDocStorage { } public override IDocStorage CreateStorage() { return new TxtDocStorage(); } } public class RtfDocumentManager : DocumentManager { private class RtfDocStorage : IDocStorage { } public override IDocStorage CreateStorage() { return new RtfDocStorage(); } } Тепер результат виклику методу DocumentManager.CreateStorage () буде екземпляром TxtDocStorage або RtfDocStorage. Це буде визначатися в залежності від того, який нащадок абстрактного класу був створений. Значить виклик методу DocumentManager.Save () збереже дані у відповідному форматі. 1 // Save a document as txt file using "Save" dialog DocumentManager docManager = new TxtDocumentManager(); docManager.Save(document); // Or use the IDocStorage interface to save a document IDocStorage storage = docManager.CreateStorage(); storage.Save(name, newDocument); Одочка ​​(Singleton) Опис Клас, що реалізує даний шаблон:1. гарантує, що можна створити тільки один його примірник;2. надає точку доступу для отримання цього примірника.Одинак ​​використовується у випадку, якщо в системі необхідний об'єкт тільки в єдиному екземплярі. Наприклад ведення налагоджувальної інформації, реалізація сесій, кеш додатки, менеджер друку, доступ до апаратного забезпечення і т. д. Нерідко він використовується разом з іншими шаблонами (Абстрактної фабрикою, Будівельником і Прототипом) для забезпечення унікальності їх примірники.При проектуванні додатка варто врахувати і мінімізувати можливі негативні наслідки використання Одинаки. Вони є виявом його "глобалізації". Зокрема:Багато частині додатка стають залежні від нього і, побічно, один від одного. Ц...
Антиботан аватар за замовчуванням

24.02.2013 22:02

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини